<template>
	<view class="container">
		<view class="ui-all">
			<view class="avatar" >
				<view  class="imgAvatar">
					<image class="iavatar" :src="user.avatarUrl||'../../static/images/default_avatar.png'"></image>
				</view>
			</view>
			<view class="ui-list">
				<text>昵称</text>
				<input type="text" placeholder="请填写您的称呼" v-model="user.nickName" 
					placeholder-class="place" />
			</view>
			<view class="ui-list">
				<text>手机号</text>
				<input v-if="user.mobile" type="tel"  v-model="user.mobile" 
					placeholder-class="place" />
				<button v-if="!user.mobile" open-type="getPhoneNumber" @getphonenumber="getphonenumber"
					class="getInfo bun">授权手机号</button>
			</view>
			<button type="primary" @click="savaInfo" style="background-color: #31b977;">保 存 修 改</button>
		</view>

	</view>
</template>

<script>
	var WXBizDataCrypt = require('@/common/WXBizDataCrypt.js');
	
	import {
		mapState,
		mapGetters
	} from 'vuex'
	export default {
		computed: {
			...mapGetters({
				hasLogin: 'hasLogin',
				userInfo: 'userInfo'
			})
		},
		data() {
			return {
				user:{mobile:''}
			}

		},
		onLoad() {
			this.user=Object.assign({},this.userInfo)
		},
		methods: {
			getphonenumber(e) {
				let pc = new WXBizDataCrypt(this.$appid, this.userInfo.sessionKey); //wxXXXXXXX为你的小程序APPID
				let data = pc.decryptData(e.detail.encryptedData, e.detail.iv);
				console.log(data)
				this.user.mobile = data.phoneNumber
			},
			savaInfo() {
				console.log(this.user)
				if (!this.isPoneAvailable(this.user.mobile)) {
					uni.showToast({
						title: '手机号码有误，请重填',
						icon: 'none',
						duration: 2000
					});
					return;
				}
				let {mobile,nickName} =this.user
				this.$api('user-center','updateUser', {mobile,nickName}).then(res=>{
					this.$store.commit('user/login', this.user)
					uni.navigateBack()
				})
			},
			isPoneAvailable(poneInput) {
				var myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/;
				if (!myreg.test(poneInput)) {
					return false;
				} else {
					return true;
				}
			}
			
		},
		onLoad() {}

	}
</script>

<style lang="less">
	.container {
		display: block;
	}

	.ui-all {
		padding: 20rpx 40rpx;

		.avatar {
			width: 100%;
			text-align: left;
			padding: 20rpx 0;
			border-bottom: solid 1px #f2f2f2;
			position: relative;

			.imgAvatar {
				width: 140rpx;
				height: 140rpx;
				border-radius: 50%;
				display: inline-block;
				vertical-align: middle;
				overflow: hidden;

				.iavatar {
					width: 100%;
					height: 100%;
					display: block;
				}
			}

			text {
				display: inline-block;
				vertical-align: middle;
				color: #8e8e93;
				font-size: 28rpx;
				margin-left: 40rpx;
			}

			&:after {
				content: ' ';
				width: 20rpx;
				height: 20rpx;
				border-top: solid 1px #030303;
				border-right: solid 1px #030303;
				transform: rotate(45deg);
				-ms-transform: rotate(45deg);
				/* IE 9 */
				-moz-transform: rotate(45deg);
				/* Firefox */
				-webkit-transform: rotate(45deg);
				/* Safari 和 Chrome */
				-o-transform: rotate(45deg);
				position: absolute;
				top: 85rpx;
				right: 0;
			}
		}

		.ui-list {
			width: 100%;
			text-align: left;
			padding: 20rpx 0;
			border-bottom: solid 1px #f2f2f2;
			position: relative;

			text {
				color: #4a4a4a;
				font-size: 28rpx;
				display: inline-block;
				vertical-align: middle;
				min-width: 150rpx;
			}

			input {
				color: #030303;
				font-size: 30rpx;
				display: inline-block;
				vertical-align: middle;
			}

			button {
				color: #030303;
				font-size: 30rpx;
				display: inline-block;
				vertical-align: middle;
				background: none;
				margin: 0;
				padding: 0;

				&::after {
					display: none;
				}
			}

			picker {
				width: 90%;
				color: #030303;
				font-size: 30rpx;
				display: inline-block;
				vertical-align: middle;
				position: absolute;
				top: 30rpx;
				left: 150rpx;
			}

			textarea {
				color: #030303;
				font-size: 30rpx;
				vertical-align: middle;
				height: 150rpx;
				width: 100%;
				margin-top: 50rpx;
			}

			.place {
				color: #999999;
				font-size: 28rpx;
			}
		}

		.right:after {
			content: ' ';
			width: 20rpx;
			height: 20rpx;
			border-top: solid 1px #030303;
			border-right: solid 1px #030303;
			transform: rotate(45deg);
			-ms-transform: rotate(45deg);
			/* IE 9 */
			-moz-transform: rotate(45deg);
			/* Firefox */
			-webkit-transform: rotate(45deg);
			/* Safari 和 Chrome */
			-o-transform: rotate(45deg);
			position: absolute;
			top: 40rpx;
			right: 0;
		}

		.save {
			background: #030303;
			border: none;
			color: #ffffff;
			margin-top: 40rpx;
			font-size: 28rpx;
		}
	}
</style>
